O sistema de controle de versões é responsável por armazenar as diversas versões dos itens de configuração e assegurar
que as modificações sobre esses itens ocorram de forma segura e controlada. Desta forma, está no âmbito desse sistema a
definição de políticas de controle de acesso (autenticação, autorização e auditoria), políticas de controle de
concorrência, por exemplo, pessimista, otimista, híbrida etc., e procedimentos que viabilizem a definição de níveis de
controle diferenciados para os itens de configuração, por exemplo, pré e pós baseline.
O principal objetivo para se gerenciar a configuração do software é fornecer mecanismos para: manter uma
estrutura de pastas com controle de acesso e manuseio; armazenar e recuperar itens em suas diversas versões, de forma a
preservar e atualizar seu conteúdo; gerenciar múltiplos níveis de controle de configuração; compartilhar e transferir
itens entre os níveis de controle estabelecidos; manter registros sobre a manipulação destes itens; gerar relatórios
gerenciais que possibilitem fazer um balanço da configuração existente (ou seja, contabilizar a situação da
configuração). Além disso, um aspecto importante é a definição de uma estratégia que permita desenvolvimento em
paralelo sobre uma base única de programas fontes, como, por exemplo, o gerenciamento de branches.
Para cada item de configuração, são usualmente definidos: um identificador único; o nível de controle pretendido,
por exemplo, apenas armazenar no repositório, também controlar a versão e ainda incluir em baseline; o momento de se
aplicar este controle; um responsável. Diferentes níveis de controle podem ser apropriados para diferentes produtos de
trabalho em diferentes momentos do projeto, bem como um mesmo item de configuração pode possuir diferentes níveis de
controle ao longo do projeto. A gerência de configuração se aplica tanto para os produtos de trabalho dos projetos
quanto para os produtos de trabalho organizacionais, em nível técnico, por exemplo, especificação de requisitos,
projetos de arquitetura, código; gerencial, por exemplo, planos, laudos, controles; e de processos, por exemplo,
padrões, procedimentos, guias, templates.
Fonte 828 IEEE Standard for Configuration Management in Systems and Software Engineering, 2012.
|